package com.clkj.xiuzheng.service.shangcheng;

import com.clkj.xiuzheng.pojo.common.Result;
import com.clkj.xiuzheng.pojo.shangcheng.*;
import com.clkj.xiuzheng.pojo.shangcheng.Address;
import com.clkj.xiuzheng.pojo.shangcheng.Order;
import com.clkj.xiuzheng.pojo.shangcheng.OrderInfo;
import com.github.pagehelper.PageInfo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface ScOrderService {
    PageInfo getOrderlist(Integer companyId, String sendOrder, String account, String factoryId, Integer pageSize, Integer pageNum);

    List<OrderInfo> getOrderInfoById(String orderNumber);


    void ship(Integer id, String shipMethod, String sendNumber, Integer sendUserId,String sendCompanyName);

    Map addOrder(Order order);

    List<Address> listAddress(Integer userId);

    PageInfo listOrders(Integer status,Integer page,Integer size,Integer userId);

    void exportOrder(String ids, HttpServletResponse response) throws IOException;

    Result importOrder(Integer operatorId, HttpServletRequest request);



    void cancelOrder(Integer orderId,Integer status);

    Map checkWuLiu(String orderNum) throws Exception;

    Order listOrderByNumber(String orderNum);

    void rateProduct(Integer productId,String orderNum);

    Map updateOrder(Order order);

    void returnOrder(OrderReturn returnOrder);

    Map sureOrderReturn(Integer returnId,Integer infoId,Integer userId,Integer flag,Integer status,String note,String returnNumber);

    List<OrderReturn> listReturnOrder(Integer userId);

    List<OrderReturn> listAllReturnOrder();
}
